<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script src="../js/promiseAjax.js"></script>
<script>
    "use strict";
    //错误处理
    //这代表的是一个promise
    //async内部发生的错误，会将promise对象变为reject状态,所以使用可以使用catch来进行处理
    // async function hd(){
    //     console.log(houdunren)
    // }

    // hd().catch(error => {
    //     throw new Error(error+'错误了');
    // });

    //下面是异步请求数据不存在的时候的错误处理
    // async function get(name){
    //     return await Ajax(`http://localhost:8888/promise/php/user.php?name=${name}`);
    // }

    // get("向军js").catch(error => {
    // //    alert('用户不存在');
    // });

    //如果promise被拒绝将抛出异常,可以使用try...catch 处理错误
    // async function get(name){
    //     try{
    //         let user = await Ajax(
    //             `http://localhost:8888/promise/php/user.php?name=${name}`
    //         );
    //         console.log(user);
    //     }catch(error){
    //         alert('用户不存在');
    //     }
    // }

    // get("向军1");

    //多个await的时前面出现失败,后面的将不可以执行
    // async function hd(){
    //     await Promise.reject("fail");
    //     await Promise.resolve("success").then(value => {
    //         console.log(value);
    //     });
    // }
    // hd();

    //如果对前面的一个错误进行了处理，后面的await可以继续执行
    // async function hd(){
    //     await Promise.reject('fail').catch(e => console.log(e));
    //     await Promise.resolve("success").then(value => {
    //         console.log(value)
    //     });
    // }
    // hd();

    //也可以使用try...catch... 特性忽略不必要的错误
    // async function hd(){
    //     try{
    //         await Promise.reject("fail");
    //     }catch(error){

    //     }
    //     await Promise.resolve("success").then(value => {
    //         console.log(value);
    //     })
    // }
    // hd();

    //也可以将多个await放在try...catch中统一处理
    // async function hd(name){
    //     const host = "http://localhost:8888/promise/php";
    //     try{
    //         const user = await Ajax(`${host}/user.php?name=${name}`);
    //         const lesson = await Ajax(`${host}/user.php?id=${user.id}`);
    //         console.log(lesson);
    //     }catch(error){
    //         console.log("用户不存在");
    //     }
    // }

    // hd("后盾人1");


    








</script>